1. Field of the Invention
The present invention relates to coding information, and more particularly, to a method and apparatus for coding information having improved information density. The present invention further relates to producing a modulated signal from the coded information, producing a recording medium from the coded information, and the recording medium itself. The present invention still further relates to a method and apparatus for decoding coded information, and decoding coded information from a modulated signal and/or a recording medium.
2. Description of the Background Art
When data is transmitted through a transmission line or recorded onto a recording medium such as a magnetic disc, an optical disc or a magneto-optical disc, the data is modulated into code matching the transmission line or the recording medium prior to the transmission or recording.
Run length limited codes, generically designated as (d, k) codes, have been widely and successfully applied in modern magnetic and optical recording systems. Such codes, and means for implementing such codes are described by K. A. Schouhamer Immink in the book entitled xe2x80x9cCodes for Mass Data Storage Systemsxe2x80x9d (ISBN 90-74249-23-X, 1999). Run length limited codes are extensions of earlier non return to zero recording codes, where binary recorded xe2x80x9czerosxe2x80x9d are represented by no (magnetic flux) change in the recording medium, while binary xe2x80x9conesxe2x80x9d are represented by transitions from one direction of recorded flux to the opposite direction.
In a (d, k) code, the above recording rules are maintained with the additional constraints that at least d xe2x80x9czerosxe2x80x9d are recorded between consecutive xe2x80x9conesxe2x80x9d, and no more than k xe2x80x9czerosxe2x80x9d are recorded between consecutive xe2x80x9conesxe2x80x9d. The first constraint arises to obviate intersymbol interference occurring because of pulse crowding of the reproduced transitions when a series of xe2x80x9conesxe2x80x9d are contiguously recorded. The second constraint arises to ensure recovering a clock from the reproduced data by xe2x80x9clockingxe2x80x9d a phase locked loop to the reproduced transitions. If there is too long an unbroken string of contiguous xe2x80x9czerosxe2x80x9d with no interspersed xe2x80x9conesxe2x80x9d, the clock regenerating phase-locked-loop will fall out of synchronism. In, for example, a (2,7) code there is at least two xe2x80x9czerosxe2x80x9d between recorded xe2x80x9conesxe2x80x9d, and there are no more than seven recorded contiguous xe2x80x9czerosxe2x80x9d between recorded xe2x80x9conesxe2x80x9d.
The series of encoded bits is converted, via a modulo-2 integration operation, to a corresponding modulated signal formed by bit cells having a high or low signal value. A xe2x80x9conexe2x80x9d bit is represented in the modulated signal by a change from a high to a low signal value or vice versa, and a xe2x80x9czeroxe2x80x9d bit is represented by the lack of change in the modulated signal.
The information conveying efficiency of such codes is typically expressed as a rate, which is the quotient of the number of bits (m) in the information word to the number of bits (n) in the code word (i.e., m/n). The theoretical maximum rate of a code, given values of d and k, is called the Shannon capacity. FIG. 1 tabulates the Shannon capacity C(d,k) for d=2 versus k. As shown, for a (2,7) code, the Shannon capacity, C(2,7), has a value of 0.5174. This means that a (2,7) code cannot have a rate larger than 0.5174. The practical implementation of codes requires that the rate be a rational fraction, and to date the above (2,7) code has a rate xc2xd. This rate of xc2xd is slightly less than the Shannon capacity of 0.5174, and the code is therefore a highly efficient one. To achieve the xc2xd rate, 1 unconstrained data bit is mapped into 2 constrained encoded bits.
(2,7) codes having a rate of xc2xd and means for implementing associated encoders and decoders are known in the art. U.S. Pat. No. 4,115,768 entitled xe2x80x9cSequential Encoding and Decoding of Variable Word Length, Fixed Rate Data Codesxe2x80x9d, issued in the names of Eggenberger and Hodges, discloses an encoder whose output sequences satisfy the imposed runlength constraints.
However, a demand exists for even more efficient codes so that, for example, the information density on a recording medium or over a transmission line can be increased.
In the converting method and apparatus according to the present invention, m-bit information words are converted into n-bit code words at a rate greater than xc2xd. Consequently, the same amount of information can be recorded in less space, and information density increased.
In the present invention, n-bit code words are divided into a first type, a second type and a third type, and into coding states of a first kind, a second kind and a third kind such that an m-bit information word is converted into an n-bit code word of the first, second or third kind if the previous m-bit information word was converted into an n-bit code word of the first type and is converted into an n-bit code word of the first or third kind, if the previous m-bit information word was converted into an n-bit code word of the second type and is converted into an n-bit code word of the first kind, if the previous m-bit information word was converted into an n-bit code word of the third type. Further, sets of code words belonging to the different coding states do not contain any code words in common. In one embodiment, n-bit code words of the first type end in xe2x80x9c00xe2x80x9d, n-bit code words of the second type end in xe2x80x9c10xe2x80x9d, n-bit code words of the third type end in xe2x80x9c01xe2x80x9d, n-bit code words belonging to the states of the first kind start with xe2x80x9c00xe2x80x9d, n-bit code words belonging to the states of the second kind start with xe2x80x9c00xe2x80x9d, xe2x80x9c01xe2x80x9d or xe2x80x9c10xe2x80x9d, and n-bit code words belonging to the states of the third kind start with xe2x80x9c00xe2x80x9d or xe2x80x9c01xe2x80x9d. Furthermore, in the embodiments according to the present invention, the n-bit code words satisfy a dk-constraint to (2,k) such that a minimum of 2 zeros and a maximum of k zeros falls between consecutive ones.
In other embodiments of the present invention, the coding device and method according to the present invention are employed to record information on a recording medium and create a recording medium according to the present invention.
In still other embodiments of the present invention, the coding device and method according to the present invention are further employed to transmit information.
In the decoding method and apparatus according to the present invention, n-bit code words created according to the coding method and apparatus are decoded into m-bit information words. The decoding involves determining the state of a next n-bit code word, and based on the state determination, the current n-bit code word is converted into an m-bit information word.
In other embodiments of the present invention, the decoding device and method according to the present invention are employed to reproduce information from a recording medium.
In still other embodiments of the present invention, the decoding device and method according to the present invention are employed to receive information transmitted over a medium.